Telegram Group & Telegram Channel
🧑‍💻 Решение задачи про поиск повторяющихся элементов в массиве

Задача: Дан массив с целыми числами длины n, все элементы которого лежат в диапазоне [1, n]. Каждый элемент появляется в массиве либо единожды, либо дважды. Требуется найти все числа, которые появляются дважды. Алгоритм должен работать за O(n).

Решение 1:
Довольно очевидный способ с использованием множеств. Создаём два множества, проходимся в цикле по массиву и проверяем, если элемент уже есть в первом множестве, то добавляем его в результирующее множество. Возвращаем результирующее множество.

Решение 2 (быстрее и использует меньше памяти):
Используем тот факт, что все числа массива находятся в диапазоне от 1 до n. Создаём результирующий список и идём в цикле по массиву. Вычисляем на основе каждого элемента index, а затем берём элемент массива по этому индексу. Если элемент по индексу неотрицательный, то заменяем его отрицательным. Если отрицательный, то добавляем изначальный элемент в результирующий список.

#junior
#middle



tg-me.com/ds_interview_lib/132
Create:
Last Update:

🧑‍💻 Решение задачи про поиск повторяющихся элементов в массиве

Задача: Дан массив с целыми числами длины n, все элементы которого лежат в диапазоне [1, n]. Каждый элемент появляется в массиве либо единожды, либо дважды. Требуется найти все числа, которые появляются дважды. Алгоритм должен работать за O(n).

Решение 1:
Довольно очевидный способ с использованием множеств. Создаём два множества, проходимся в цикле по массиву и проверяем, если элемент уже есть в первом множестве, то добавляем его в результирующее множество. Возвращаем результирующее множество.

Решение 2 (быстрее и использует меньше памяти):
Используем тот факт, что все числа массива находятся в диапазоне от 1 до n. Создаём результирующий список и идём в цикле по массиву. Вычисляем на основе каждого элемента index, а затем берём элемент массива по этому индексу. Если элемент по индексу неотрицательный, то заменяем его отрицательным. Если отрицательный, то добавляем изначальный элемент в результирующий список.

#junior
#middle

BY Библиотека собеса по Data Science | вопросы с собеседований




Share with your friend now:
tg-me.com/ds_interview_lib/132

View MORE
Open in Telegram


Библиотека собеса по Data Science | вопросы с собеседований Telegram | DID YOU KNOW?

Date: |

Telegram announces Anonymous Admins

The cloud-based messaging platform is also adding Anonymous Group Admins feature. As per Telegram, this feature is being introduced for safer protests. As per the Telegram blog post, users can “Toggle Remain Anonymous in Admin rights to enable Batman mode. The anonymized admin will be hidden in the list of group members, and their messages in the chat will be signed with the group name, similar to channel posts.”

Библиотека собеса по Data Science | вопросы с собеседований from kr


Telegram Библиотека собеса по Data Science | вопросы с собеседований
FROM USA